package com.neuedu.corejava.ch7;

/**
 * 	继承：
 * 		1.继承使用extends关键词进行表示，子类可以通过继承共用的父类的特征（属性）和行为（方法）
 * 		2.语法：class 子类 extends 父类
 * 		3.在java中继承属于单继承：一个子类只能有一个父类
 * 		4.在子类的构造方法中，可以使用super指向父类；调用父类的构造方法
 * 		5.子类可以通过继承重用父类的代码，但这不是主要的目的；
 * 			继承更重要的目的是为了对父类的功能进行扩展，增加程序的可维护性，可扩展性
 * 		6.子类可以重写父类的方法；子类可以扩展自己的方法
 * 		7.在java中，所有类都有一个共同的父类：java.lang.Object
 * 		  java 的父类可以是直接的父类，也指代父类的父类，直至Object
 *		//JNI - java 本地调用接口，是多语言混合编程的接口，可以调用c语言代码
 *		8.在实例化子类对象时，会先执行父类的构造方法，生成一个父类对象；实例化子类对象一定会产生多个对象（根据子类与Object类间的关系确定）
 *
 *
 *
 */

public class Manager extends Employee{
	
	//不编写super调用时，默认会调用父类的空参构造方法

	public Manager() {
		super();//在子类的构造方法中，可以使用super指向父类；调用父类的构造方法
		// TODO Auto-generated constructor stub
	}

	public Manager(String name, String sex, int age, String phone) {
		//this 可以在构造方法中，调用自己的构造方法-一般用于多构造方法时；
		//不能同时使用this和super进行构造方法调用；
		//使用 this或super调用构造方法时，代码必须放在第一行
		super(name,sex,age,phone);//调用父类带参的构造方法
		//this();
		this.work();
		//work();//子类和父类都有work方法，不写this或super时默认调用子类的方法
		super.equals(null);//子类没有equals方法，默认调用父类的方法;可以是this或super或不写进行调用
		this.equals(null);
		equals(null);
		
	}

	//@Override 方法的重写，@Overload 方法的重载
	//方法的重写发生在子类和父类之间，子类重写父类的方法
	//方法的重写可以使用@override进行注解
	@Override
	public void work() {
		//super.work();
		System.out.println("管理公司");
	}

}
